/**
 * 文件名称: hardware_rtc.h
 * 摘    要: linux应用程序下操作硬件rtc头文件
 * 来    源: 自我总结
 *
 * 当前版本: 1.0
 * 作    者: huenrong
 * 完成日期: 2019年06月13日
 **/


#ifndef __HARDWARE_RTC_H__
#define __HARDWARE_RTC_H__

#include <linux/rtc.h>

#define     RTC_DEV_NAME       "/dev/rtc0"        // 硬件rtc设备文件路径


/************************************************************************
函数名称: hardware_rtc_read_date_time
函数功能: 硬件rtc读取日期和时间
函数参数: path_name: 需需要打开的RTC设备路径(形如: /dev/rtc0)
          read_date_time: 读取到的日期和时间(读取到的年和月分别需要加上1900和1才是当前时间)
函数返回: 成功: 返回0
          失败: 返回-1
************************************************************************/
int hardware_rtc_read_date_time(const char *path_name, struct rtc_time *read_date_time);

/************************************************************************
函数名称: hardware_rtc_set_date_time
函数功能: 硬件rtc设置日期和时间
函数参数: path_name: 需需要打开的RTC设备路径(形如: /dev/rtc0)
          set_date_time: 需要设置的日期和时间
          sync_flag: 同步系统时间标志(0: 不同步硬件时间到系统时间; 1: 同步硬件时间到系统时间)
函数返回: 成功: 返回0
          失败: 返回-1
************************************************************************/
int hardware_rtc_set_date_time(const char *path_name, const struct rtc_time set_date_time, const unsigned char sync_flag);


#endif


